1. Technical Field
This invention relates to processing data in a federated database. More specifically, the invention relates to dynamically gathering data in a query transaction in the federated database and determining a relationship among data gathered from two or more databases that are members of the federated database in a single transaction.
2. Description of the Prior Art
A database is a collection of information organized to enable a computer program to quickly select desired data. Traditional databases are organized by fields, records, and files. A field is a single piece of information. A record is one complete set of fields. A file is a collection of records. To access information from a database, a collection of programs are used to enable entering, organizing, and selecting data in a database. Relational database systems store large amounts of data, including business data that can be analyzed to support business decisions. Data records within a relational database management system in a computing system are maintained in tables, which are a collection of rows having the same columns.
A virtual database system, also known as a federated database, is a type of metadatabase management system which transparently integrates multiple autonomous database systems into a single database. Constituent databases in the federated database are interconnected via a computer network and may be geographically decentralized. Since the constituent database systems remain autonomous, a federated database system is an alternative to the task of merging together several disparate databases. Data federation techniques are available to allow a user to access heterogeneous distributed data elements in a manner so that they are virtually stored in a single database without having to copy or move the data elements. Accordingly, a federated database is a logical composite of constituent databases.
There are limitations associated with the use of federated databases. For example, the relationship between elements within the constituent databases is critical when managing a federated database. However, it is often difficult to determine the relationship between elements within the constituent databases and to retrieve significant information about the elements from among a large number of data elements distributed therein since such information is generally available only to the application developer for that database. Since a federated database integrates multiple autonomous database systems virtually, the application developer for the federated database is not likely to be the same person or persons or have direct access to the same information otherwise available to the application developer for the native databases. Additionally, since the relationship information is generally not documented, it is likely that the information will be lost over time.
One solution is to maintain the related data elements in document form through use of an entity relationship model, or other tools at the time of application development. In computer science, an entity relationship diagram is a graphical notation for representing data models. The first stage of information system design uses these models to describe information needs or the type of information that is to be stored in a database during the requirement analysis. The data modeling technique can be used to describe an overview and classification of used terms and their relationship for a certain area of interest. However, it is not uncommon for the content of the documentation and the actual application structure to diverge from each other over time.
Other solutions for obtaining the relationships between data elements in a federated database include analyzing an object model and an application program, and using information statically defined in a database. However, as noted, these solutions are based on static information, and databases change in a dynamic manner.
Therefore, there is a need for a solution that documents the relations between data elements from different databases that virtually form a federated database in a dynamic manner. Such a solution should facilitate efficient information integration and effective utilization and reuse of information.